package com.androidag;

import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Noticias extends Activity {
    	
    List<Noticia> noticias = null;
    Noticia[] aNoticias = new Noticia[100];
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.noticias);

        
        // Componentes layout
        final ListView lvMain = (ListView) findViewById(R.id.lv_noticias);

        
      	try {
      		
      		System.out.println("Probando SAX Simplificado");
      		
			//SAX Simplificado
			RssParserSax2 saxparser = new RssParserSax2("http://212.170.237.10/rss/rss.aspx");
      		//RssParserSax2 saxparser = new RssParserSax2("http://www.cincodias.com/rss/feed.html?feedId=17102");
			noticias = saxparser.parse();
			
			int i = 0;
			for (Noticia noticia : noticias) {
//				aNoticias[i] = new Noticia();
				if ( noticia == null ) break;
				aNoticias[i] = noticia;
				System.out.println(i+": "+aNoticias[i].getTitulo());
				i=i+1;
				if (i == 100) break;
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			aNoticias[0] = new Noticia();
			aNoticias[0].setTitulo("No me puedo conectar a INTERNET");
			aNoticias[0].setDescripcion(e.toString());
		}

      	
        
        // Opciones
        AdaptadorOpciones adaptadorOpciones= new AdaptadorOpciones(this);
        lvMain.setAdapter(adaptadorOpciones);
        
        lvMain.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
				
				//tvMain.setText("Elemento Seleccionado: " + aOpciones[position].getNombre());

				// Abrir en navegador
				Uri uriUrl = Uri.parse(aNoticias[position].getLink());  
				Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
				startActivity(launchBrowser); 
				
			}
        });

    }
    
    
    

    
    // Opciones
    static class ViewHolder {
        TextView nombre;
        TextView descripcion;
    }
    
	class AdaptadorOpciones extends ArrayAdapter<Noticia> {
    	
    	Activity context;
    	
		AdaptadorOpciones(Activity context) {
            super(context, R.layout.main_li_opcion, aNoticias);
            this.context = context;
        }
    	
        public View getView(int position, View convertView, ViewGroup parent) {
            View item = convertView;
            ViewHolder holder;
            
            if (item == null) {
            	
                LayoutInflater inflater = context.getLayoutInflater();
                item = inflater.inflate(R.layout.main_li_opcion, null);
                
                holder = new ViewHolder();
                holder.nombre = (TextView)item.findViewById(R.id.lOpcionNombre);
                holder.descripcion = (TextView)item.findViewById(R.id.lOpcionDescripcion);
                item.setTag(holder);
                
            } else {
            	holder = (ViewHolder)item.getTag();
            }
            
//          holder.nombre.setText(aOpciones[position].getNombre());
//          holder.descripcion.setText(aOpciones[position].getDescripcion());
            if (aNoticias[position] != null) {
            	holder.nombre.setText(aNoticias[position].getTitulo());
            	holder.descripcion.setText(aNoticias[position].getDescripcion());
            }
         
            return(item);
        }
    }
    
  
    
}
